package com.ocom.jobhandler.feign;

import com.alibaba.fastjson.JSONObject;
import com.ocom.common.constant.PayConfigUrl;
import com.ocom.common.request.payconfig.SubsidyListRequest;
import com.ocom.common.request.payconfig.setConsMerchPayReportsRequest;
import com.ocom.common.resp.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

@FeignClient(value = "payconfig")
public  interface PayConfigClientService {

    @PostMapping(PayConfigUrl.Url_accountBalance)
    public Result accountBalance();

    @PostMapping(PayConfigUrl.Url_subsidyList)
    public Result subsidyList(@RequestBody SubsidyListRequest subsidyListRequest);

    @PostMapping(PayConfigUrl.Url_RepairPayPageTimedSMS)
    public Result repairPayPageTimedSMS();

    @PostMapping(PayConfigUrl.Url_RepairPayPageUpdatePayStatus)
    public Result repairPayPageUpdatePayStatus(@RequestParam("startComId") Long startComId);

    @PostMapping(PayConfigUrl.Url_CouponsVoucherTimerStop)
    public Result couponsVoucherTimerStop(@RequestParam("startComId") Long startComId);

    @PostMapping(PayConfigUrl.Url_getConsMerchPayList)
    public Result getConsMerchPayList(@RequestParam("comId") Long comId);

    @PostMapping(PayConfigUrl.Url_setConsMerchPayReports)
    public Result setConsMerchPayReports(@RequestBody setConsMerchPayReportsRequest request);

    @PostMapping(PayConfigUrl.Url_MjAlarmSend)
    public Result mjAlarmSend(@RequestParam("comId") Long comId);


    @GetMapping(PayConfigUrl.Url_kitchenPrtTimer)
    public Result kitchenPrtTimer() ;

    @PostMapping(PayConfigUrl.URL_accountDisabled)
    public Result accountDisabled();

    //定时任务账号到期提前三天发送短信(/accountExpiration)
    @GetMapping(PayConfigUrl.URL_accountExpiration)
    public Result accountExpiration();

    @PostMapping(PayConfigUrl.Url_subsidyComIdList)
    public Result subsidyComIdList(@RequestParam("comId")Long comId,@RequestParam("beginMonth") String beginMonth) ;


    /**
     * 缴费定时任务
     */
    @GetMapping(PayConfigUrl.URL_timerJFXM)
    public void timerJFXM(@RequestParam("comId")Long comId);


    @GetMapping(PayConfigUrl.URL_timerJFGzhMsg)
    public void timerJFGzhMsg(@RequestParam("comId")Long comId);

    @GetMapping(PayConfigUrl.URL_paymentTimingGzh)
    public void paymentTimingGzh(@RequestParam("consState") Integer consState) ;

    @PostMapping(PayConfigUrl.URL_weimiAutoRefund)
    public Result autoRefund(@RequestBody JSONObject jsonObject);
}